/*
  1. Use a more-intuitive box-sizing model.
*/
*, *::before, *::after {
    box-sizing: border-box;
  }
  /*
    2. Remove default margin
  */
  * {
    margin: 0;
  }
  /*
    Typographic tweaks!
    3. Add accessible line-height
    4. Improve text rendering
  */
  body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  /*
    5. Improve media defaults
  */
  img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
  }
  /*
    6. Remove built-in form typography styles
  */
  input, button, textarea, select {
    font: inherit;
  }
  /*
    7. Avoid text overflows
  */
  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
  }
  /*
    8. Create a root stacking context
  */
  #root, #__next {
    isolation: isolate;
  }

  /* My style */
  
:root{
    --primary-purple : hsl(259, 100%, 65%);
    --warning-red : hsl(0, 100%, 50%);
    --dark-black : hsl(0, 0%, 8%);
}

body{
    display: grid;
    min-height: 100vh;
    place-items: center;
    background-color: rgb(242, 242, 242);
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}

.name{
  color: var(--primary-purple);
}

.main{
    padding: 32px;
    width: 650px;
    border-radius: 10px 10px 100px 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    background-color: white;
}

/* Inputs styling */
.input-fields{
    display: flex;
    gap: 20px;
}
.input__dob{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    color: rgb(116, 116, 116);
    /* margin-bottom: 3px; */
}
.input__error{
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    letter-spacing: .2px;
    font-size: smaller;
    font-weight: 100;
    font-style: italic;
    color: var(--warning-red);
    display: none;
}
.input-fields input{
    width: 120px;
    padding-left: 12px;
    padding-block: 3px;
    font-size: x-large;
    font-weight: 900;
    border: 1.5px solid rgb(237, 237, 237);
    border-radius: 5px;
    margin-block: 3px;
}

.input-fields input::placeholder {
    color: rgb(212, 212, 212);
}

input:focus {
    border-color: var(--primary-purple);
    outline: none;
}

.submit-button{
    display: flex;
    align-items: center;
}

.submit-button :first-child{
    flex-grow: 1;
}

.submit-button hr{
    border: 1px solid rgb(237, 237, 237);
}

.submit-button button{
    padding: 5px;
    border-radius: 50%;
    border: none;
    background-color: var(--primary-purple);
    
}
.submit-button button:hover{
    cursor: pointer;
    background-color: var(--dark-black);
}

.submit-button svg{
    padding: 8px;
}

.optput{
    padding-block: 25px;
    font-size: 3.25rem;
    font-weight: 900;
    font-style: italic;
    line-height: 2.5rem;
    color: var(--dark-black);
}
.optput span{
    color: var(--primary-purple);
}

.attribution{
  font-family: 'Times New Roman', Times, serif;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%; 
  padding: 10px;
 }

/* Media wueries */

@media (max-width: 665px) {
  .main{
    width: 550px;
    background-color: white;
}

  .input__dob{
    font-size: 9px;
    font-weight: 600;
  }

  .input-fields input{
    width: 100px;
    font-size: large;
    font-weight: 900;
  }

  .optput{
    font-size: 2.75rem;
    font-weight: 900;
    line-height: 2.25rem;
  }

  .input__error{
    font-size: 11px;
    font-weight: 100;
  }
}

@media (max-width: 550px) {
  .main{
    width: 450px;
    background-color: white;
}

  .input__dob{
    font-size: 8px;
    font-weight: 600;
  }

  .input-fields input{
    width: 90px;
    font-size: large;
    font-weight: 900;
  }

  .optput{
    font-size: 2.25rem;
    font-weight: 900;
    line-height: 1.75rem;
  }

  .input__error{
    font-size: 10px;
    font-weight: 100;
  }
}

@media (max-width: 480px) {
  .main{
    width: 350px;
    background-color: white;
}

  .input__dob{
    font-size: 6px;
    font-weight: 600;
  }

  .input-fields input{
    width: 65px;
    font-size: medium;
    font-weight: 900;
  }

  .optput{
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.5rem;
  }

  .input__error{
    font-size: 7px;
    font-weight: 100;
  }
}